C语言

您所在的位置:网站首页 阶乘累加c语言 高效 C语言

C语言

2023-05-30 11:04| 来源: 网络整理| 查看: 265

初版(当数值大时,不可用!)

程序中使用递归的方式计算阶乘,每次调用fact()函数时,会将n减1,并将n与递归返回值相乘。当n较大时,这种递归方式会导致栈空间占用过多,从而引发栈溢出的错误。

#include long long fact(int n){ if(n==1 || n==0) return 1; return (long long)n * fact(n-1); } int main() { int n; scanf("%d", &n); printf("%lld",fact(n)); return 0; } 进阶版

程序中使用递归的方式计算阶乘,每次调用fact()函数时,会将n减1,并将n与递归返回值相乘。当n较大时,这种递归方式会导致栈空间占用过多,从而引发栈溢出的错误。

#include #include #define MAXN 1000 void pnext(int a[], int k) { int *b, m = a[0]; int i, j, r, carry; b = (int *)malloc(sizeof(int) * (m + 1)); for(i = 1; i 0 && res.num[res.len] == 0) { res.len--; } res.len++; return res; } // 重载输出运算符 friend ostream& operator


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3